//******************************************************************************
// TITLE:                      	Using Classes + Inheritance 
// FILENAME:                   	main.cpp
// PREPARED FOR:               	CS215 Section CS13-02
// PROGRAMMER(S):              	Eric (Fox) Crowell
// DEVELOPMENT DATE:           	< 12/02/13 >
// COMPILER USED:      			Microsoft Visual Studio Ultimate 2013
// TARGET PLATFORM:         	Windows 8 x64
//================================================================
//                           PROJECT FILES
//		main.cpp
//		TelephoneNumber.h
//		TelephoneNumber.cpp
//      WorkingTN.h
//		WorkingTN.cpp
//      BillingTN.h
//		BillingTN.cpp
//
//================================================================

#include "BillingTN.h"

ostream & operator << (ostream &Out, TelephoneNumber &TN)
{
	TN.PrintToStream(Out);
	return Out;
}

void main(){

	//Declaring Telephone Objects:
	TelephoneNumber YourNumber;
	TelephoneNumber Paul("719", "590", "6768");
	TelephoneNumber Bob("719", "590", "6729");
	WorkingTN CSStaff1("719", "590", "6732", "Book Store");
	WorkingTN CSStaff2("212", "371", "6940", "Borland C++ Guru");
	WorkingTN CSStaff3("405", "612", "3433", "Visual C++ Expert");
	BillingTN CSDept("719", "590", "6850", "Dean of CS");
	BillingTN Library("719", "598", "6708", "Librarian");
	BillingTN Reception("719", "598", "0200", "Receptionist", 35);
	cout << "Testing the overloaded << operator with the virtual " << "PrintToStream()\n\n";
	cout << "The Telephone numbers are : \n";
	cout << YourNumber << endl;
	cout << Paul << endl;
	cout << Bob << endl;
	cout << "The Working Telephone numbers are : \n";
	cout << CSStaff1 << endl;
	cout << CSStaff2 << endl;
	cout << CSStaff3 << endl;
	cout << "The Billing Telephone numbers are : \n";
	cout << CSDept << endl;
	cout << Library << endl;
	cout << Reception << endl;

	cout << "End Tests of Telephone hierarchy!" << endl;

	return;
}